The present disclosure generally relates to techniques for storage virtualization, and more specifically, to techniques for supporting multipath input/output (I/O) (MPIO) for logical volume backed storage devices through redundant virtual I/O servers (VIOSs) on a client device.
In many cloud and virtualized environments, it is becoming increasingly important to provide near-continuous availability of resources in the environment. For example, as cloud environments move toward using low cost commodity hardware to support cloud infrastructures, providing high availability can reduce chances of an outage due to maintenance, hardware failures, etc. To provide high availability and redundancy, administrators often logically partition the resources of computing systems through virtualization. These resources can include processors, memory, I/O devices, storage, etc.
On a computing system, a firmware layer (e.g., a hypervisor) is used to expose virtualized computing hardware to different logical partitions (or virtual machines). Each logical partition can run a different operating system (OS). The hypervisor can provide each OS with a set of virtualized computing hardware. Referring in particular to I/O, a computing system may be provided with a special logical partition for I/O virtualization, referred to herein as a virtual I/O server (VIOS). A VIOS is generally configured to provide virtual I/O resources to the logical partitions of a computing system and enable shared access (by the logical partitions) to physical storage resources, e.g., disks, tape, optical media, etc. In some cases, a computing system can include multiple VIOSs to provide redundancy and multiple paths to the physical storage resources.
Storage virtualization, in general, can be implemented in different ways on different hypervisors. One example storage virtualization technique is virtual Small Computer Serial Interface (SCSI) based on a client-server relationship. With virtual SCSI, client logical partitions can share disk storage, tape, optical devices, etc., that are assigned to the VIOS logical partition. The VIOS owns the physical storage and acts as a storage server (or SCSI target device). The client logical partitions access the virtual SCSI backed physical storage devices provided by the VIOS as clients (or SCSI initiators). Examples of the backing storage devices include disks, logical volumes, files, etc.